1.面向过程(PROCEDURE ORIENTED)

1).具体化,流程化
2).性能高
3).算法+数据结构

2.面向对象(OBJECT ORIENTED)(OO)

1).模型化
2).易维护,易复用,易扩展

3.面向对象编程(OOP)

1).继承             允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性
    A).重载(以统一的方法处理不同数据类型)       一个类的多态性表现
    B).重写(方法重写)                         父子类多态性体现
2).封装(信息封装)   确保组件不会以不可预期的方式改变其它组件的内部状态
3).多态            组件的引用和类集会涉及到其它不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型

4.面向切面编程(ASPECT ORIENTED PAROGRAMMING)(AOP)

1).切面 项目模块中某些业务逻辑(业务需要一定共性)
2).解耦,提高程序可重用性,提高开发效率

5.三层架构、MVC、MVP、MVVM

1).三层架构--界面层(User Interface Layer-Business Logic Layer-Data access Layer 界面–业务逻辑–数据访问)

    A).界面层(UIL)           与用户交互
    B).业务逻辑层(BLL)        实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等
    C).数据访问层(DAL)        与数据库打交道。主要实现对数据的增、删、改、查    
    
2).MVC(Model-View-Controller 模型–视图–控制器)

    A).Model(模型)           业务逻辑、业务模型、业务操作、数据模型。定义了数据修改和操作的业务规则
    B).View (视图)           UI组件。接收Controller数据,降Model转化成UI
    C).Controller(控制器) 处理流入请求
    
    D).特点                  View和Model分离(1978 Trygve Reenskaug)
    E).流程                  View⇒Controller⇒Model⇔View     
    
3).MVP(Model-View-Presenter MVC改良模式(View与Model完全解耦))

    A).Model(模型)           业务逻辑、业务模型、业务操作、数据模型。定义了数据修改和操作的业务规则
    B).View (视图)           UI组件。接收Controller数据,降Model转化成UI
    C).Presenter(控制器)     处理View背后所有UI事件(一个Presenter只映射一个view)
    
    D).特点                  View和Presenter双向交互(IBM的子公司Taligent提出)
    E).流程                  View⇔Presenter⇔Model         
    
4).MVVM(Model-View-View Model MVP中把P层削弱为VM层,部分简单的逻辑职责分给了View层)

    A).Model(模型)           业务逻辑、业务模型、业务操作、数据模型。定义了数据修改和操作的业务规则
    B).View (视图)           UI组件。接收Controller数据,降Model转化成UI
    C).View Model(控制器)    负责暴漏方法,命令,其他属性来操作View的状态,触发View自己的事件
    
    D).特点                  View和View Model双向数据绑定关系    
    E).流程                  View⇒View Model⇔Model          

summerNazi
19 声望3 粉丝

bug